home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / asm / pc370_3.exe / lha / DEMOPNUM.ALC < prev    next >
Text File  |  1985-05-02  |  3KB  |  119 lines

  1.          TITLE 'DEMOPNUM - FIXED POINT PRIME NUMBER BENCHMARK'
  2. DEMOPNUM CSECT
  3. *
  4. *  AUTHOR.  DON HIGGINS.
  5. *  DATE.    04/27/85.
  6. *  REMAKRS.
  7. *
  8. *  THIS PROGRAM USES PREVIOUSLY FOUND PRIMES AS TRIAL DIVISORS
  9. *  TO FIND THE FIRST 100 PRIME NUMBERS AND PRINT THEM.
  10. *
  11. *  THE FOLLOWING BASIC PROGRAM WAS RUN USING INTERPRETATIVE
  12. *  BASIC AND IT TOOK 60 SECONDS ON 4MHZ Z80 SYSTEM:
  13. *
  14. *       DEFINT A-Z
  15. *       MT=100
  16. *       DIM T(MT)
  17. *       NT=1
  18. *       T(NT)=1
  19. *       PRINT NT,T(NT)
  20. *       NT=2
  21. *       T(NT)=2
  22. *       PRINT NT,T(NT)
  23. *       NT=3
  24. *       T(NT)=3
  25. *       PRINT NT,T(NT)
  26. *       N=3
  27. * 150   N=N+2
  28. *       FOR I=3 TO NT
  29. *         J=N/T(I)
  30. *         IF J*T(I)=N GOTO 150
  31. *       NEXT I
  32. *       NT=NT+1
  33. *       T(NT)=N
  34. *       PRINT NT,N
  35. *       IF NT<MT GOTO 150
  36. *       STOP
  37. *       END
  38. *
  39. *
  40. *       THE 370 ASSEMBLER BENCHMARK RESULTS ARE AS FOLLOWS:
  41. *
  42. *       1.  ON A 4 MHZ Z80 CP/M VERSION OF PC/370, THIS PROGRAM RAN
  43. *           IN 25 SECONDS.
  44. *
  45. *       2.  ON A 4.77 MHZ 8086 MSDOS VERSION OF PC/370, THIS PROGRAM
  46. *           RNA IN 35 SECONDS.
  47. *
  48. *
  49. *
  50.          LR    R12,R15
  51.          USING DEMOPNUM,R12
  52.          L     R15,=V(PET)
  53.          BALR  R14,R15
  54.          LA    R2,=C'   1   1$'
  55.          SVC   209
  56.          LA    R2,=C'   2   2$'
  57.          SVC   209
  58.          LA    R2,=C'   3   3$'
  59.          SVC   209
  60.          LA    MT,100
  61.          LA    NT,3
  62.          LA    N,3
  63. L150     EQU   *
  64.          LA    N,2(N)
  65.          LA    I,3
  66. L160     EQU   *
  67.          LA    I4,0(I,I)
  68.          LA    I4,0(I4,I4)
  69.          L     TI,T-4(I4)   TI=T(I)
  70.          LR    J,N
  71.          SR    J-1,J-1
  72.          DR    J-1,TI
  73.          MR    J-1,TI
  74.          CLR   J,N
  75.          BE    L150
  76.          LA    I,1(I)
  77.          CLR   I,NT
  78.          BNH   L160
  79.          LA    NT,1(NT)
  80.          LA    I4,0(NT,NT)
  81.          LA    I4,0(I4,I4)
  82.          ST    N,T-4(I4) T(NT)=N
  83.          CVD   N,PN
  84.          CVD   NT,PNT
  85.          MVC   DNT,=X'40202020'
  86.          ED    DNT,PNT+6
  87.          MVC   DN,=X'40202020'
  88.          ED    DN,PN+6
  89.          LA    R2,PLINE
  90.          SVC   209
  91.          CLR   NT,MT
  92.          BL    L150
  93.          L     R15,=V(PET)
  94.          BALR  R14,R15
  95.          SVC   0
  96. R0       EQU   0
  97. R1       EQU   1
  98. J        EQU   1  0-1 USED FOR D AND M WORK
  99. R2       EQU   2  CP/M ARG. REG.
  100. N        EQU   3  CURRENT TRIAL PRIME
  101. NT       EQU   4  SEQ. NUMBER OF PRIMES
  102. MT       EQU   5  MAX  PRIMES IN TABLE
  103. I        EQU   6  TABLE SUBSCRIPT
  104. I4       EQU   7  I * 4 TO INDEX FULL WORD ENTRIES
  105. TI       EQU   8  DIVISOR HOLD
  106. R12      EQU   12  BASE
  107. R14      EQU   14  LINK
  108. R15      EQU   15  ENTRY
  109. PWORK    DC    D'0'
  110. PLINE    EQU   *
  111. DNT      DC    CL4' '
  112. DN       DC    CL4' '
  113.          DC    C'$'
  114. PNT      DC    PL8'0'
  115. PN       DC    PL8'0'
  116. T        DC    F'1,2,3'
  117.          DS    97F
  118.          END   DEMOPNUM
  119.